Field of the Invention
Embodiments of the present invention generally relate to media delivery systems and, more particularly, to techniques for just-in-time transcoding.
Description of the Related Art
Media servers store and deliver media content. The two most common formats used for streaming media content are Hypertext Transfer Protocol (HTTP) Live Streaming (HLS) and Dynamic Adaptive Streaming over HTTP (DASH). Both formats involve breaking the media content into a sequence of small HTTP-based file downloads (i.e., video segments) that make up the overall media content. Media servers need to be able to deliver content in any format for any device (e.g. BLACKBERRY®, ANDROID®, iPHONE®, personal computer, web browser, television, and the like), and additionally provide the content in multiple resolutions based on network connectivity. The content may be delivered in a low quality when the network connection is slow, and in high quality when the network connection is fast. Often, large companies, such as NETFLIX® store the content in multiple formats and for each format, in multiple resolutions. The content is ready to be delivered immediately upon request from a user because the content was transcoded and stored before the user request was received. As such, latency (i.e., delay in receiving content) is not an issue.
Although storage is expensive, it is cost-effective for services such as NETFLIX to use the storage because NETFLIX delivers a small amount of content to a large number of users. However, for cloud storage service providers that store and deliver user generated content, storing the content in all formats and each format in all resolutions is cost-prohibitive. A user generated video may only be viewed once or twice, if at all. In addition, cloud storage service providers may be contractually required to store the original bytes of a video content as they were uploaded. However, cloud storage service providers, while avoiding wasted storage costs, still want to avoid latency and provide their users with fast downloads.
Therefore, there is a need for a method and apparatus for just-in-time transcoding.